//二次封装axios
import axios from 'axios'
//进度条
import nprogress from 'nprogress'
//进度条样式
import 'nprogress/nprogress.css'

//创建axios实例
const service = axios.create({
    baseURL: '/mock', // api的base_url
    timeout: 5000, // 请求超时时间
})

//配置请求拦截器
service.interceptors.request.use(
    (config) => {
        //在请求发送之前做一些处理
        //比如在请求头中添加token
        // config.headers['token'] = 'token'
        //开启进度条
        nprogress.start()
        return config
    },
    (error) => {
        //对请求错误做些什么
        return Promise.reject(error)
    }
)

//配置响应拦截器
service.interceptors.response.use(
    (response) => {
        //对响应数据做点什么
        //关闭进度条
        nprogress.done()
        return response.data
    },
    (error) => {
        //对响应错误做点什么
        return Promise.reject(error)
    }
)

//导出axios实例
export default service
